package org.ilc;

/**
 *
 */
public class Constants {
	/**
	 * 配置文件名
	 */
	public static final String CONFIG_NAME="push.conf";

	public static final String APP_CONFIG_NAME="app.conf";

    /**
     * Socket 监听端口号
     */
	public final static String SOCKET_PORT_KEY = "server.socket.port";
	
	/**
	 * 内嵌http服务器端口
	 */
	public final static String HTTP_PORT_KEY = "server.http.port";

	/**
	 * 是否开启http
	 */
	public final static String HTTP_ENABLE_KEY = "server.http.enable";

	/**
	 * 内嵌http服务器web项目 目录名
	 */
	public final static String HTTP_WEBAPP_DIR_NAME="console";
	
	/**
	 * 线程池维护线程的最少数量
	 */
	public final static String SOCKET_COREPOOLSIZE_KEY = "server.socket.corepoolsize";

	/**
	 * 线程池维护线程的最大数量
	 */
	public final static String SOCKET_MAXPOOLSIZE_KEY = "server.socket.maxpoolsize";

	/**
	 * 主服务监听的端口可以重用
	 */
	public final static String SOCKET_REUSEADDRESS_KEY = "server.socket.reuseaddress";

	/**
	 * 输入缓冲区大小
	 */
	public final static String SOCKET_RECEVIEBUFFERSIZE_KEY = "server.socket.receivebuffersize";

	/**
	 * 输出缓冲区大小
	 */
	public final static String SOCKET_SENDBUFFERSIZE_KEY = "server.socket.sendbuffersize";
	
	/**
	 * 设置为非延迟发送，为true则不组装成大包发送，收到东西马上发出
	 */
	public final static String SOCKET_TCPNDELAY_KEY = "server.socket.tcpnodeplay";

    /**
     * 心跳检测间隔
     */
	public final static String SOCKET_IDLETIME_KEY = "server.socket.idletime";

	/**
	 * 发送消息线程池最小数量
	 */
	public final static String PUSH_COREPOOLSIZE_KEY="push.corepoolsize";

	/**
	 * 发送消息线程池最大数量
	 */
	public final static String PUSH_MAXPOOLSIZE_KEY="push.maxpoolsize";

	/**
	 * PUSH消息线程扫描间隔时间
	 */
	public final static String PUSH_SCAN_TIME_KEY="push.scan.time";

	/**
	 * 消息发送拦截器
	 */
	public final static String SEND_INTERCEPTOR_CLASS_KEY="send.listener.class";

	/**
	 * 会话拦截器
	 */
	public final static String SESSION_INTERCEPTOR_CLASS_KEY="session.listener.class";

	/**
	 * 数据提供器
	 */
	public final static String DATA_PROVIDER_CLASS_KEY="data.provider.class";

    /**
     * 附属应用启动器
     */
    public final static String APP_INITIATOR_CLASS_KEY = "app.initiator.class";

    /**
     * 任务线程池最小数量
     */
    public static final String SERVER_TASK_COREPOOLSIZE_KEY = "server.task.corepoolsize";

    /**
     * 任务线程池最大数量
     */
    public static final String SERVER_TASK_MAXPOOLSIZE_KEY = "server.task.maxpoolsize";


    public static final String SERVER_DEBUG = "server.debug";
}
